home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import flash.display.MovieClip;
- import flash.events.Event;
-
- public class KnightChar extends MovieClip
- {
-
-
- internal const LEFT:* = 1;
-
- internal const INITARMOR:* = 100;
-
- internal const OUTSCR:* = 999;
-
- internal const JUMP:* = 11;
-
- internal const BORDERLEFT:* = 160;
-
- internal const ATTACK:* = 21;
-
- public var hitdetector:MovieClip;
-
- public var §\x01\x01\x0b\x10§:int;
-
- internal const CENTER:* = 3;
-
- internal const DEAD:* = 666;
-
- internal const BLOCK:* = 22;
-
- public var Health:int;
-
- public var Face:String;
-
- internal const DOWN:* = 12;
-
- internal const BORDERDOWN:* = 337;
-
- internal const XSPEED:* = 16;
-
- internal const HSPEED:* = 8;
-
- internal const NORMAL:* = 20;
-
- private var §\x01\x01\x02\t§:* = null;
-
- private var §\x01\x01\f\x04§:* = null;
-
- private var §\x01\x01\f\x05§:int;
-
- internal const VFACTOR:* = 0.85;
-
- public var Armor:int;
-
- private var §\x01\x01\f\b§:Boolean;
-
- internal const HJUMPFACTOR:* = 0.6;
-
- internal const BORDERRIGHT:* = 560;
-
- internal const CENTERPAGE:* = BORDERLEFT + (BORDERRIGHT - BORDERLEFT) / 2;
-
- private var §\x01\x01\x06\r§:* = null;
-
- public var §\x01\x01\f\t§:int;
-
- private var §\x01\x01\x0b\r§:Number;
-
- internal const INITHEALTH:* = 100;
-
- private var §\x01\x01\t\x0f§:* = null;
-
- internal const VSPEED:* = 25;
-
- internal const STAND:* = 0;
-
- private var §\x01\x01\f\n§:int;
-
- internal const BORDERUP:* = 237;
-
- internal const RIGHT:* = 2;
-
- internal const JUMPATTACK:* = 23;
-
- public function KnightChar()
- {
- §\x01\x01\x02\t§ = null;
- §\x01\x01\x06\r§ = null;
- §\x01\x01\t\x0f§ = null;
- §\x01\x01\f\x04§ = null;
- super();
- }
-
- public function DragonAttack(param1:*, param2:*) : *
- {
- if(§\x01\x01\t\x0f§.GetKnightStatus() == BLOCK && Armor > 0)
- {
- Armor -= param2;
- }
- else
- {
- Health -= param1;
- SetFace("damaged");
- }
- §\x01\x01\t\x0f§.UpdateScore();
- if(§\x01\x01\t\x0f§.GetKnightStatus() != DEAD && §\x01\x01\t\x0f§.GetKnightStatus() != OUTSCR && Health <= 0)
- {
- §\x01\x01\t\x0f§.SetKnightStatus("dead");
- SetFace("dead");
- §\x01\x01\x0b\x10§ = DEAD;
- }
- }
-
- public function Jump() : *
- {
- if(§\x01\x01\f\t§ == STAND)
- {
- §\x01\x01\x0b\r§ = VSPEED;
- §\x01\x01\f\t§ = JUMP;
- }
- }
-
- public function §\x01\x01\f\x01§() : *
- {
- if(!§\x01\x01\f\b§)
- {
- §\x01\x01\f\x05§ = Math.ceil(15000 / 42);
- §\x01\x01\f\b§ = true;
- }
- }
-
- public function GetCharType() : String
- {
- return "knight";
- }
-
- private function §\x01\x01\f\x02§() : *
- {
- var _loc1_:int = 0;
- var _loc2_:int = 0;
- _loc1_ = 0;
- _loc2_ = 0;
- if(§\x01\x01\f\x04§)
- {
- if(§\x01\x01\f\x04§.GetCharType() == "obstacle")
- {
- if(§\x01\x01\f\x04§.GetLive())
- {
- Health += (§\x01\x01\t\x0f§.GetKnightStatus() == ATTACK || §\x01\x01\t\x0f§.GetKnightStatus() == JUMPATTACK) && Boolean(§\x01\x01\f\x04§.attackable) ? 0 : -§\x01\x01\f\x04§.GetHealthDamage();
- Armor += §\x01\x01\t\x0f§.GetKnightStatus() == ATTACK || §\x01\x01\t\x0f§.GetKnightStatus() == JUMPATTACK ? -§\x01\x01\f\x04§.GetArmorDamage() : 0;
- if((§\x01\x01\t\x0f§.GetKnightStatus() == ATTACK || §\x01\x01\t\x0f§.GetKnightStatus() == JUMPATTACK) && Boolean(§\x01\x01\f\x04§.attackable))
- {
- §\x01\x01\f\x04§.SetLive(false);
- §\x01\x01\t\x0f§.scoreMgr.SetScore(§\x01\x01\f\x04§.GetCharScore());
- }
- else
- {
- SetFace("damaged");
- }
- }
- }
- else if(§\x01\x01\f\x04§.GetCharType() == "bird")
- {
- if(§\x01\x01\f\x04§.GetLive())
- {
- Health += §\x01\x01\t\x0f§.GetKnightStatus() == JUMPATTACK ? 0 : -§\x01\x01\f\x04§.GetHealthDamage();
- Armor += §\x01\x01\t\x0f§.GetKnightStatus() == JUMPATTACK ? -§\x01\x01\f\x04§.GetArmorDamage() : 0;
- if(§\x01\x01\t\x0f§.GetKnightStatus() == JUMPATTACK)
- {
- §\x01\x01\f\x04§.SetLive(false);
- §\x01\x01\t\x0f§.scoreMgr.SetScore(§\x01\x01\f\x04§.GetCharScore());
- }
- else
- {
- SetFace("damaged");
- }
- }
- }
- else if(§\x01\x01\f\x04§.GetCharType() == "item")
- {
- if(§\x01\x01\f\x04§.GetHealthDamage() == 0 && §\x01\x01\f\x04§.GetArmorDamage() == 0)
- {
- §\x01\x01\f\x01§();
- SetFace("getitem");
- }
- else if(§\x01\x01\f\x04§.GetHealthDamage() > 0 && §\x01\x01\f\x04§.GetArmorDamage() > 0)
- {
- Health = 100;
- Armor = 100;
- SetFace("getitem");
- }
- else
- {
- Health += §\x01\x01\f\x04§.GetHealthDamage();
- Armor += §\x01\x01\f\x04§.GetArmorDamage();
- SetFace("getitem");
- }
- §\x01\x01\f\x04§.Destroy();
- §\x01\x01\f\x04§ = null;
- }
- else if(§\x01\x01\f\x04§.GetCharType() == "fireball")
- {
- if(§\x01\x01\t\x0f§.GetKnightStatus() == BLOCK && Armor > 0)
- {
- Armor -= §\x01\x01\f\x04§.GetArmorDamage();
- }
- else
- {
- Health -= §\x01\x01\f\x04§.GetHealthDamage();
- SetFace("damaged");
- }
- }
- §\x01\x01\t\x0f§.UpdateScore();
- if(§\x01\x01\t\x0f§.GetKnightStatus() != DEAD && §\x01\x01\t\x0f§.GetKnightStatus() != OUTSCR && Health <= 0)
- {
- §\x01\x01\t\x0f§.SetKnightStatus("dead");
- SetFace("dead");
- §\x01\x01\x0b\x10§ = DEAD;
- }
- }
- }
-
- public function §\x01\x01\f\x03§() : MovieClip
- {
- var _loc1_:Array = null;
- var _loc2_:int = 0;
- var _loc3_:* = undefined;
- var _loc4_:int = 0;
- var _loc5_:Boolean = false;
- var _loc6_:String = null;
- _loc1_ = new Array();
- _loc2_ = 0;
- _loc3_ = null;
- _loc5_ = false;
- _loc4_ = 2;
- while(_loc4_ < §\x01\x01\x06\r§.numChildren)
- {
- _loc3_ = §\x01\x01\x06\r§.getChildAt(_loc4_);
- if((_loc6_ = String(_loc3_.GetCharType())) == "obstacle" || _loc6_ == "item" || _loc6_ == "bird" || _loc6_ == "fireball")
- {
- if(_loc3_.hitTestObject(hitdetector))
- {
- return _loc3_;
- }
- }
- _loc4_++;
- }
- return null;
- }
-
- public function Init(param1:*, param2:*, param3:*) : *
- {
- §\x01\x01\x02\t§ = param1;
- §\x01\x01\x06\r§ = param2;
- §\x01\x01\t\x0f§ = param3;
- §\x01\x01\x0b\x10§ = STAND;
- §\x01\x01\f\t§ = STAND;
- Health = INITHEALTH;
- Armor = INITARMOR;
- §\x01\x01\x0b\r§ = VSPEED;
- §\x01\x01\f\b§ = false;
- §\x01\x01\f\x05§ = 0;
- SetFace("run");
- §\x01\x01\x02\t§.addEventListener(Event.ENTER_FRAME,§\x01\x01\x06\x0e§,false,0,true);
- }
-
- private function §\x01\x01\f\x06§() : Boolean
- {
- if(§\x01\x01\f\x05§ > 0)
- {
- --§\x01\x01\f\x05§;
- §\x01\x01\f\b§ = true;
- }
- else
- {
- §\x01\x01\f\b§ = false;
- }
- return §\x01\x01\f\b§;
- }
-
- private function §\x01\x01\f\x07§(param1:String) : Boolean
- {
- if(param1 == "left")
- {
- return this.x > BORDERLEFT;
- }
- if(param1 == "right")
- {
- return this.x < BORDERRIGHT;
- }
- if(param1 == "center")
- {
- return this.x - CENTERPAGE > 0;
- }
- if(param1 == "up")
- {
- return this.y > BORDERUP;
- }
- if(param1 == "down")
- {
- return this.y < BORDERDOWN;
- }
- return false;
- }
-
- private function §\x01\x01\x06\x0e§(param1:Event) : *
- {
- var _loc2_:* = undefined;
- _loc2_ = null;
- switch(§\x01\x01\f\t§)
- {
- case JUMP:
- §\x01\x01\x0b\r§ *= VFACTOR;
- if(§\x01\x01\f\x07§("up"))
- {
- if(Math.abs(this.y - BORDERUP) > §\x01\x01\x0b\r§)
- {
- this.y -= §\x01\x01\x0b\r§;
- }
- else
- {
- this.y = BORDERUP;
- }
- }
- else
- {
- §\x01\x01\f\t§ = DOWN;
- }
- break;
- case DOWN:
- §\x01\x01\x0b\r§ /= VFACTOR;
- if(§\x01\x01\f\x07§("down"))
- {
- if(Math.abs(this.y - BORDERDOWN) > §\x01\x01\x0b\r§)
- {
- this.y += §\x01\x01\x0b\r§;
- }
- else
- {
- if(§\x01\x01\t\x0f§.GetKnightStatus() != DEAD || §\x01\x01\t\x0f§.GetKnightStatus() != OUTSCR)
- {
- SetFace("stand");
- }
- §\x01\x01\f\t§ = STAND;
- this.y = BORDERDOWN;
- }
- }
- else
- {
- if(§\x01\x01\t\x0f§.GetKnightStatus() != DEAD || §\x01\x01\t\x0f§.GetKnightStatus() != OUTSCR)
- {
- SetFace("stand");
- }
- §\x01\x01\f\t§ = STAND;
- }
- break;
- default:
- this.y = BORDERDOWN;
- }
- switch(§\x01\x01\x0b\x10§)
- {
- case LEFT:
- if(§\x01\x01\f\x07§("left"))
- {
- if(§\x01\x01\f\x06§())
- {
- this.x -= §\x01\x01\f\t§ == STAND ? XSPEED : XSPEED * HJUMPFACTOR;
- }
- else
- {
- this.x -= §\x01\x01\f\t§ == STAND ? HSPEED : HSPEED * HJUMPFACTOR;
- }
- }
- §\x01\x01\x0b\x10§ = STAND;
- break;
- case RIGHT:
- if(§\x01\x01\f\x07§("right"))
- {
- if(§\x01\x01\f\x06§())
- {
- this.x += §\x01\x01\f\t§ == STAND ? XSPEED : XSPEED * HJUMPFACTOR;
- }
- else
- {
- this.x += §\x01\x01\f\t§ == STAND ? HSPEED : HSPEED * HJUMPFACTOR;
- }
- }
- §\x01\x01\x0b\x10§ = STAND;
- break;
- case CENTER:
- if(§\x01\x01\f\x07§("center"))
- {
- this.x -= HSPEED;
- }
- else
- {
- this.x = CENTERPAGE;
- §\x01\x01\x0b\x10§ = STAND;
- }
- break;
- case DEAD:
- if(this.x > -80)
- {
- this.x -= HSPEED;
- }
- else
- {
- §\x01\x01\t\x0f§.SetKnightStatus("out");
- }
- break;
- default:
- §\x01\x01\f\x06§();
- }
- _loc2_ = §\x01\x01\f\x03§();
- if(_loc2_)
- {
- if(_loc2_ != §\x01\x01\f\x04§)
- {
- §\x01\x01\f\x04§ = _loc2_;
- §\x01\x01\f\x02§();
- }
- }
- }
-
- public function SetFace(param1:String) : *
- {
- if(param1 == "run" && Health > 0)
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("run");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("run75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("run50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("run25");
- }
- else
- {
- gotoAndPlay("runzero");
- }
- }
- else if(param1 == "jump" && Health > 0)
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("jump");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("jump75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("jump50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("jump25");
- }
- else
- {
- gotoAndPlay("jumpzero");
- }
- }
- else if(param1 == "attack" && Health > 0 && Armor > 0)
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("attack");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("attack75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("attack50");
- }
- else
- {
- gotoAndPlay("attack25");
- }
- }
- else if(param1 == "block" && Health > 0 && Armor > 0)
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("block");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("block75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("block50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("block25");
- }
- }
- else if(param1 == "jumpattack" && Health > 0 && Armor > 0)
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("jumpattack");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("jumpattack75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("jumpattack50");
- }
- else
- {
- gotoAndPlay("jumpattack25");
- }
- }
- else if(param1 == "dead")
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("dead");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("dead75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("dead50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("dead25");
- }
- else
- {
- gotoAndPlay("deadzero");
- }
- }
- else if(param1 == "damaged" && Health > 0)
- {
- Face = param1;
- Move("left");
- if(Armor > 75)
- {
- gotoAndPlay("damaged");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("damaged75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("damaged50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("damaged25");
- }
- else
- {
- gotoAndPlay("damagedzero");
- }
- }
- else if(param1 == "getitem" && Health > 0)
- {
- Face = param1;
- if(Armor > 75)
- {
- gotoAndPlay("getitem");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("getitem75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("getitem50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("getitem25");
- }
- else
- {
- gotoAndPlay("getitemzero");
- }
- }
- else if(Health > 0)
- {
- Face = "run";
- if(Armor > 75)
- {
- gotoAndPlay("run");
- }
- else if(Armor > 50)
- {
- gotoAndPlay("run75");
- }
- else if(Armor > 25)
- {
- gotoAndPlay("run50");
- }
- else if(Armor > 0)
- {
- gotoAndPlay("run25");
- }
- else
- {
- gotoAndPlay("runzero");
- }
- }
- }
-
- public function Destroy() : *
- {
- §\x01\x01\x02\t§.removeEventListener(Event.ENTER_FRAME,§\x01\x01\x06\x0e§);
- }
-
- public function Move(param1:String) : *
- {
- if(§\x01\x01\x0b\x10§ == STAND)
- {
- if(param1 == "stand")
- {
- §\x01\x01\x0b\x10§ = STAND;
- }
- else if(param1 == "left")
- {
- §\x01\x01\x0b\x10§ = LEFT;
- }
- else if(param1 == "right")
- {
- §\x01\x01\x0b\x10§ = RIGHT;
- }
- else if(param1 == "center")
- {
- §\x01\x01\x0b\x10§ = CENTER;
- }
- else
- {
- §\x01\x01\x0b\x10§ = STAND;
- }
- }
- }
- }
- }
-